<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>AutoHotkey_L Features</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body><h1>AutoHotkey_L 特性 <a href="http://www.autohotkey.net/~Lexikos/AutoHotkey_L/" style="float:right;font-size:12px">[主页]</a></h1>

<br/><table class="info">

<tr><th id="flow">流程控制</th><th></th></tr>
<tr><td><a href="commands/Break.htm">Break <i>LoopLabel</i></a></td><td>退出一个循环或任意数目的嵌套循环.</td></tr>
<tr><td><a href="commands/Continue.htm">Continue <i>LoopLabel</i></a></td><td>继续一个循环, 即使在任意数目的嵌套循环中.</td></tr>
<tr><td><a href="commands/For.htm">For <i>x</i>,<i>y</i> in <i>z</i></a></td><td>从头到为尾循环对象的内容</td></tr>
<tr><td><a href="commands/Until.htm">Loop Until</a></td><td>循环直到条件为真. 可用于任意类型的循环.</td></tr>

<tr><th id="commands">命令</th><th></th></tr>
<tr><td><a href="commands/FileEncoding.htm">FileEncoding</a></td><td>为 <a href="commands/FileRead.htm">FileRead</a>, <a href="commands/FileReadLine.htm">FileReadLine</a>, <a href="commands/LoopReadFile.htm">Loop Read</a>, <a href="commands/FileAppend.htm">FileAppend</a> 和 <a href="commands/FileOpen.htm">FileOpen</a> 设置默认编码.<br/><i>也请参见:</i> <a href="#enc">文本编码</a></td></tr>
<tr><td><a href="commands/Menu.htm#MenuIcon">Menu, Icon</a></td><td>设置或移除菜单项图标.</td></tr>
<tr><td><a href="commands/Send.htm#Unicode">SendInput {U+nnnn}</a></td><td>发送 Unicode 字符. 在 Unicode 版本中可以直接使用 Unicode 字符.</td></tr>
<tr><td><a href="commands/SetFormat.htm">SetFormat, IntegerFast, h|H</a></td><td>设置小写或大写的十六进制格式.</td></tr>
<tr><td><a href="commands/Transform.htm#HTML">Transform, HTML</a></td><td>执行代码页或 HTML 转换.</td></tr>

<tr><th id="directives">指令</th><th></th></tr>
<tr><td><a href="commands/_If.htm">#If <i>expression</i></a></td><td>类似于 <a href="http://www.autohotkey.com/docs/commands/_IfWinActive.htm">#IfWinActive</a>, 但可以是任意类型的表达式.</td></tr>
<tr><td><a href="commands/_IfTimeout.htm">#IfTimeout</a></td><td>设置计算单个 #If 表达式可以使用的最大时间.</td></tr>
<tr><td><a href="commands/_MenuMaskKey.htm">#MenuMaskKey</a></td><td>改变使用哪个键来屏蔽 Win 或 Alt 按键弹起事件.</td></tr>
<tr><td><a href="commands/_Include.htm">#Include &lt;Lib&gt;</a></td><td>包含函数库文件夹中的脚本文件.</td></tr>
<tr><td><a href="commands/_Warn.htm">#Warn</a></td><td>启用或禁用为选择的情况提示开发者错误的警告.</td></tr>

<tr><th id="functions">函数</th><th></th></tr>
<tr><td><a href="commands/ComObjActive.htm">ComObj...</a> --<br>ComObjActive<br>ComObjEnwrap/Unwrap<br>ComObjParameter<br>ComObjType</td><td><br>获取注册的 COM 对象.<br>包装/解开 COM 对象.<br>把值和类型包装成参数传递.<br>获取 COM 对象的类型信息.</td></tr>
<tr><td><a href="commands/ComObjArray.htm">ComObjArray</a></td><td>创建用于 COM 的 SAFEARRAY.</td></tr>
<tr><td><a href="commands/ComObjConnect.htm">ComObjConnect</a></td><td>连接 COM 对象的事件源到带有给定前缀的函数.</td></tr>
<tr><td><a href="commands/ComObjCreate.htm">ComObjCreate</a></td><td>创建 COM 对象.</td></tr>
<tr><td><a href="commands/ComObjError.htm">ComObjError</a></td><td>启用或禁用 COM 错误通告.</td></tr>
<tr><td><a href="commands/ComObjFlags.htm">ComObjFlags</a></td><td>获取或改变控制 COM 包装器对象行为的标志.</td></tr>
<tr><td><a href="commands/ComObjGet.htm">ComObjGet</a></td><td>返回由 COM 组件提供的对象引用.</td></tr>
<tr><td><a href="commands/ComObjQuery.htm">ComObjQuery</a></td><td>查询 COM 对象的接口或服务.</td></tr>
<tr><td><a href="commands/ComObjType.htm">ComObjType</a></td><td>从 COM 对象获取类型信息.</td></tr>
<tr><td><a href="commands/ComObjValue.htm">ComObjValue</a></td><td>获取存储在 COM 包装器对象中的值或指针.</td></tr>
<tr><td><a href="commands/FileOpen.htm">FileOpen</a></td><td>提供面向对象的文件 I/O.</td></tr>
<tr><td><a href="Objects.htm">IsObject</a></td><td>判断某个值是否为对象.</td></tr>
<tr><td><a href="commands/StrPutGet.htm">StrPut / StrGet</a></td><td>复制字符串到内存地址或来自内存地址, 并可选地对其在不同代码页间进行转换.</td></tr>
<tr><td><a href="commands/Trim.htm">Trim</a></td><td>移除字符串的开始和/或末尾的某些字符.</td></tr>
<tr><td><a href="misc/RegExCallout.htm">RegEx (?C<i>Number</i>:<i>Function</i>)</a></td><td>在正则表达式进行模式匹配期间调用函数.</td></tr>
<tr><td><a href="Functions.htm#Variadic">可变参数函数</a></td><td>函数可以通过数组接受可变数目的参数.</td></tr>

<tr><th id="objects">对象</th><th></th></tr>
<tr><td><a href="Objects.htm">概述</a></td><td>对象的常规行为和用法.</td></tr>
<tr><td><a href="Objects.htm#Arrays">Object</a></td><td>使用其他功能扩展关联数组.</td></tr>
<tr><td><a href="objects/Enumerator.htm">枚举数</a></td><td>可以枚举容器中的项目.</td></tr>
<tr><td><a href="objects/File.htm">File</a></td><td>提供访问文件的接口. <a href="commands/FileOpen.htm">FileOpen</a> 返回文件类型的对象.</td></tr>
<tr><td>ComObject</td><td>参见上面的 ComObj 函数.</td></tr>

<tr><th id="vars">变量</th><th></th></tr>
<tr><td>A_IsUnicode</td><td>在 Unicode 版本中, 此变量值为 1 (<i>真</i>). 在 ANSI 版本中此变量未定义, 所以实际为 <i>假</i>.</td></tr>
<tr><td>A_FileEncoding</td><td>包含用于多种命令的默认编码; 参见 <a href="commands/FileEncoding.htm">FileEncoding</a>.</td></tr>
<tr><td>A_OSVersion</td><td>在 Windows 7 上值为 WIN_7, 其他值参见 <a href="Variables.htm#OSVersion">此处</a>.</td></tr>
<tr><td>A_PtrSize</td><td>包含指针的大小, 单位为字节. 此大小为 4 (32 位) 或 8 (64 位).</td></tr>

<tr><th id="types">数据类型</th><th></th></tr>
<tr><td><a href="commands/DllCall.htm#ptr">Ptr</a></td><td>在 32 位版本中等同于 <i>Int</i> 而在 64 位版本中为 <i>Int64</i>. 由 <a href="commands/DllCall.htm">DllCall</a>, <a href="Functions.htm#NumPut">NumPut</a> 和 <a href="Functions.htm#NumGet">NumGet</a> 所支持.</td></tr>
<tr><td><a href="commands/DllCall.htm#astr">AStr</a>, <a href="commands/DllCall.htm#wstr">WStr</a></td><td>仅 <a href="commands/DllCall.htm">DllCall</a> 支持; 参见 <a href="Compat.htm">脚本兼容性</a>.</td></tr>
</ul>

<tr><th id="unicode">Unicode</th><th></th></tr>
<tr><td><a href="Compat.htm">兼容性</a></td><td>在 DllCall 中如何处理 Unicode 等.</td></tr>
<tr><td><a href="Scripts.htm#cp">脚本文件</a></td><td>在脚本文件中使用 Unicode 编码.</td></tr>
<tr><td><a href="commands/Send.htm#Unicode">SendInput</a></td><td>在 SendInput 中使用 Unicode.</td></tr>

<tr><th id="other">其他</th><th></th></tr>
<tr><td><a href="Scripts.htm#idebug">调试</a></td><td>交互式调试特性 (单步执行等).</td></tr>
<tr><td><a href="#icons">图标支持</a></td><td>资源标识符和改进的对各种图标大小的支持.</td></tr>
<tr><td><a href="commands/Gui.htm#fontq">Gui 文本品质</a></td><td>控制 Gui 中文本的反锯齿效果.</td></tr>
<tr><td><a href="Compat.htm#Other">其他变化</a></td><td>影响脚本兼容性的改变.</td></tr>
<tr><td><a href="AHKL_ChangeLog.htm">版本历史</a></td><td>AutoHotkey_L 的修订历史.</td></tr>

</table>


<h2>命令的变化</h2>

<h3 id="enc">文本编码</h3>
<p><a href="commands/FileRead.htm">FileRead</a>, <a href="commands/FileReadLine.htm">FileReadLine</a>, <a href="commands/LoopReadFile.htm">Loop Read</a> 和 <a href="commands/FileAppend.htm">FileAppend</a> 支持 Windows 所支持的大部分文本编码, 而不仅系统默认的 ANSI 代码页. 可以用 <a href="commands/FileEncoding.htm">FileEncoding</a> 设置默认编码, 此设置在 FileRead 和 FileAppend 中可以使用如下方法覆盖:</p>
<pre class="Syntax">FileRead, OutputVar, *P<i>nnn</i> Filename
FileAppend [, Text, Filename, Encoding]</pre>
<p>此处 <i>nnn</i> 必须是数值的 <a href="http://msdn.microsoft.com/en-us/library/dd317756.aspx">代码页标识符</a>, 而 <i>Encoding</i> 遵循与 <a href="commands/FileEncoding.htm">FileEncoding</a> 相同的格式.</p>
<p><b>也请参见:</b> <a href="Compat.htm#FileRead">脚本兼容性</a></p>


<h2 id="icons">图标支持的改进</h2>

<h3>不常见的大小</h3>
<p>可以从可执行文件中提取操作系统支持的任意大小的图标资源. 当图标组中存在多种大小的图标资源时, 则使用其中最合适的大小. 在修订号 17 之前的版本中, 系统先选择任意的图标资源, 接着调整到系统的大图标尺寸, 然后调整回请求的尺寸.</p>

<h3>资源标识符</h3>
<p>使用负数的图标编号可以标识可执行文件中的一组图标资源. 例如, 下面的语句设置托盘图标为 ahk 文件的默认图标.</p>
<pre>Menu, Tray, Icon, %A_AhkPath%, -160</pre>

</body></html>
